﻿<?xml version="1.0" encoding="utf-8" ?>
<ScintillaNET>
  <Language Name="asm">

    <AutoComplete AutoHide="False" FillUpCars="  , " DropRestOfWord="True" SingleLineAccept="True" IsCaseSensitive="False" StopChars=" , ">
      <TriggerString Value=" " />
      <TriggerString Value="->" />
      <TriggerString Value="." />
      <List>
        $ $$ %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %arg %assign %define %elif
        %elifctk %elifdef %elifid %elifidn %elifidni %elifmacro %elifnctk
        %elifndef %elifnid %elifnidn %elifnidni %elifnmacro %elifnnum %elifnstr
        %elifnum %elifstr %else %endif %endmacro %endrep %error %exitrep %iassign
        %idefine %if %ifctk %ifdef %ifid %ifidn %ifidni %ifmacro %ifnctk %ifndef
        %ifnid %ifnidn %ifnidni %ifnmacro %ifnnum %ifnstr %ifnum %ifstr %imacro
        %include %line %local %macro %out %pop %push %rep %repl %rotate %stacksize
        %strlen %substr %undef %xdefine %xidefine .186 .286 .286c .286p .287
        .386 .386c .386p .387 .486 .486p .8086 .8087 .alpha .break .bss .code
        .const .continue .cref .data .data? .dosseg .else .elseif .endif .endw
        .err .err1 .err2 .errb .errdef .errdif .errdifi .erre .erridn .erridni
        .errnb .errndef .errnz .exit .fardata .fardata? .if .lall .lfcond .list
        .listall .listif .listmacro .listmacroall .model .msfloat .no87 .nocref
        .nolist .nolistif .nolistmacro .radix .repeat .sall .seq .sfcond .stack
        .startup .text .tfcond .type .until .untilcxz .while .xall .xcref .xlist
        ? @b @f a16 a32 aaa aad aam aas abs absolute adc add addpd addps addr
        addsd addss ah al alias align alignb all and andnpd andnps andpd andps
        arpl assume assumes at ax basic bh bits bl bound bp bsf bsr bswap bt btc
        btr bts bx byte c call carry? casemap catstr cbw cdq cflush ch cl clc cld
        cli clts cmc cmova cmovae cmovb cmovbe cmovc cmove cmovg cmovge cmovl cmovle
        cmovna cmovnae cmovnb cmovnbe cmovnc cmovne cmovng cmovnge cmovnl cmovnle
        cmovno cmovnp cmovns cmovnz cmovo cmovp cmovpe cmovpo cmovs cmovz cmp
        cmpeqpd cmpeqps cmpeqsd cmpeqss cmplepd cmpleps cmplesd cmpless cmpltpd
        cmpltps cmpltsd cmpltss cmpnepd cmpneps cmpnesd cmpness cmpnlepd cmpnleps
        cmpnlesd cmpnless cmpnltpd cmpnltps cmpnltsd cmpnltss cmpordpd cmpordps
        cmpordsd cmpordss cmps cmpsb cmpsd cmpsw cmpunordpd cmpunordps cmpunordsd
        cmpunordss cmpxchg cmpxchg8b cmpxchg486 comisd comiss comm comment common
        compact cpu cpuid cr0 cr2 cr3 cr4 cs cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi
        cvtpd2ps cvtpi2pd cvtpi2ps cvtps2dq cvtps2pd cvtps2pi cvtsd2si cvtsd2ss
        cvtsi2sd cvtsi2ss cvtss2sd cvtss2si cvttpd2dq cvttpd2pi cvttps2dq cvttps2pi
        cvttsd2si cvttss2si cwd cwde cx daa das db dd dec df dh di div divpd divps
        divsd divss dl dosseg dotname dq dr0 dr1 dr2 dr3 dr6 dr7 ds dt dup dw
        dword dx eax ebp ebx echo ecx edi edx else elseif elseif1 elseif2 elseifb
        elseifdef elseifdif elseifdifi elseife elseifidn elseifidni elseifnb elseifndef
        emms emulator end endif endm endp ends endstruc enter epilogue eq equ
        error es esc esi esp even exitm export expr16 expr32 extern externdef
        extrn f2xm1 fabs fadd faddp far far16 far32 farstack fbld fbstp fchs
        fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom
        fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms
        feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit
        fist fistp fisub fisubr flat fld fld1 fldcw fldenv fldenvd fldenvw fldl2e
        fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop
        fnsave fnsaved fnsavew fnstcw fnstenv fnstenvd fnstenvw fnstsw for forc
        forceframe fortran fpatan fprem fprem1 fptan frndint frstor frstord frstorw
        fs fsave fsaved fsavew fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv
        fstenvd fstenvw fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomp
        fucompp fwait fword fxam fxch fxrstor fxsave fxtract fyl2x fyl2xp1 ge
        global goto group gs gt high highword hlt huge ibts icebp idiv iend if if1
        if2 ifb ifdef ifdif ifdifi ife ifidn ifidni ifnb ifndef import imul in
        inc incbin include includelib ins insb insd instr insw int int01 int03
        int1 int3 into invdinvlpgwbinvdxadd invoke iret iretd iretdfiretf iretw
        irp irpc istruc ja jae jb jbe jc jcxz je jecxz jg jge jl jle jmp jna jnae
        jnb jnbe jnc jne jng jnge jnl jnle jno jnp jns jnz jo jp jpe jpo js jz
        label lahf language lar large ldmxscr lds le lea leave length lengthof
        les lfence lfs lgdt lgs lidt listing ljmp lldt lmsw loadall loadall286
        loadds local lock lods lodsb lodsd lodsw loop loopd looped loopned loopnzd loopzd
        lss loope loopew loopne loopnew loopnz loopnzw loopw loopz loopzw low lowword
        lroffset lsl lt ltr m510 macro mask maskmovdq maskmovdqu maxpd maxps maxss medium
        memory mfence minpd minps minsd minss mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 mod mov movapd
        movaps movd movdq2q movdqa movdqu movhlps movhpd movhps movlhps movlpd movlps
        movmskpd movmskps movntdq movnti movntpd movntps movntq movq movq2dq movs movsb
        movsd movss movsw movsx movupd movups movzx mul mulpd mulps mulsd mulss name
        ne near near16 near32 nearstack neg nodotname noemulator nokeyword noljmp
        nom510 none nonunique nooldmacros nooldstructs nop noreadonly noscoped
        nosignextend nosplit not nothing notpublic o16 o32 offset oldmacros oldstructs
        opattr option or org orpd orps os_dos out outs outsb outsd outsw overflow?
        packssdw packsswb packuswb paddb paddd paddq paddsb paddsiw paddsw paddusb
        paddusw paddw page pand pandn para parity? pascal pause paveb pavgb
        pavgusb pavgw paxsd pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw
        pdistib pextrw pf2id pf2iw pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax
        pfmin pfmul pfnacc pfpnacc pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub
        pfsubr pi2fd pinsrw pmachriw pmaddwd pmagw pmaxsw pmaxub pminsw pminub
        pmovmskb pmulhriw pmulhrwa pmulhrwc pmulhuw pmulhw pmullw pmuludq pmvgezb
        pmvlzb pmvnzb pmvzb pop popa popad popaw popcontext popf popfd popfw
        por prefetch prefetchnta prefetcht0 prefetcht1 prefetcht2 prefetchw
        private proc prologue proto psadbw pshufd pshufhw pshuflw pshufw pslld
        pslldq psllq psllw psrad psraw psrld psrldq psrlq psrlw psubb psubd psubq
        psubsb psubsiw psubsw psubusb psubusw psubw pswapd ptr public punpckhbw
        punpckhdq punpckhqdq punpckhwd punpcklbw punpckldq punpcklqdq punpcklwd
        purge push pusha pushad pushaw pushcontext pushdpushfd pushf pushfw
        pushw pxor qword radix rcl rcpps rcpss rcr rdmsr rdpmc rdshr rdtsc
        readonly real4 real8 real10 record rep repe repeat repne repnz rept
        repz req resb resd resq rest resw ret retf retn rol ror rsdc rsldt rsm
        rsqrtps rsqrtss rsts sahf sal salc sar sbb sbyte scas scasb scasd scasw
        scoped sdword section seg segment seq seta setae setb setbe setc sete
        setg setge setif2 setl setle setna setnae setnb setnbe setnc setne setng
        setnge setnl setnle setno setnp setns setnz seto setp setpe setpo sets
        setz sfence sgdt shl shld short shr shrd shufpd shufps si sidt sign? size
        sizeof sizestr sldt small smallstack smi smint smintold smsw sp sqrtpd
        sqrtps sqrtsd sqrtss ss st st0 st1 st2 st3 st4 st5 st6 st7 stc std stdcall
        sti stmxcsr stos stosb stosd stosw str struc struct sub subpd subps
        subsd subss substr subtitle subttl svdc svldt svts sword syscall sysenter
        sysexit sysret tbyte test textequ this times tiny title tr3 tr4 tr5 tr6
        tr7 type typedef ucomisd ucomiss ud0 ud1 ud2 umov union unpckhpd unpckhps
        unpcklpd unpcklps use16 use32 uses vararg verr verw wait while width word
        wrmsr wrshr wrt xbts xchg xlat xlatb xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6
        xmm7 xor xorpd xorps zero?
      </List>
    </AutoComplete>

    <Indentation TabWidth="2" SmartIndentType="simple" BackspaceUnindents="True" IndentWidth="2" UseTabs="True" TabIndents="True" />

    <Lexer LineCommentPrefix=";" >
      <!-- CPU Instructions -->
      <Keywords List="0" Inherit="False">
        aaa aad aam aas adc add and call cbw
        clc cld cli cmc cmp cmps cmpsb cmpsw cwd daa das dec div esc hlt
        idiv imul in inc int into iret ja jae jb jbe jc jcxz je jg jge jl
        jle jmp jna jnae jnb jnbe jnc jne jng jnge jnl jnle jno jnp jns
        jnz jo jp jpe jpo js jz lahf lds lea les lods lodsb lodsw loop
        loope loopew loopne loopnew loopnz loopnzw loopw loopz loopzw
        mov movs movsb movsw mul neg nop not or out pop popf push pushf
        rcl rcr ret retf retn rol ror sahf sal sar sbb scas scasb scasw
        shl shr stc std sti stos stosb stosw sub test wait xchg xlat
        xlatb xor bound enter ins insb insw leave outs outsb outsw popa pusha pushw
        arpl lar lsl sgdt sidt sldt smsw str verr verw clts lgdt lidt lldt lmsw ltr
        bsf bsr bt btc btr bts cdq cmpsd cwde insd iretd iretdf  iretf
        jecxz lfs lgs lodsd loopd  looped  loopned  loopnzd  loopzd  lss
        movsd movsx movzx outsd popad popfd pushad pushd  pushfd scasd seta
        setae setb setbe setc sete setg setge setl setle setna setnae setnb
        setnbe setnc setne setng setnge setnl setnle setno setnp setns
        setnz seto setp setpe setpo sets setz shld shrd stosd
        bswap cmpxchg invd  invlpg  wbinvd  xadd
        lock rep repe repne repnz repz cflush cpuid emms femms
        cmovo cmovno cmovb cmovc cmovnae cmovae cmovnb cmovnc
        cmove cmovz cmovne cmovnz cmovbe cmovna cmova cmovnbe
        cmovs cmovns cmovp cmovpe cmovnp cmovpo cmovl cmovnge
        cmovge cmovnl cmovle cmovng cmovg cmovnle cmpxchg486 cmpxchg8b
        loadall loadall286 ibts icebp int1 int3 int01 int03 iretw
        popaw popfw pushaw pushfw rdmsr rdpmc rdshr rdtsc
        rsdc rsldt rsm rsts salc smi smint smintold svdc svldt svts
        syscall sysenter sysexit sysret ud0 ud1 ud2 umov xbts wrmsr wrshr
      </Keywords>
      <!-- FPU Instructions -->
      <Keywords List="1" Inherit="False">
        f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcom fcomp fcompp fdecstp
        fdisi fdiv fdivp fdivr fdivrp feni ffree fiadd ficom ficomp fidiv
        fidivr fild fimul fincstp finit fist fistp fisub fisubr fld fld1
        fldcw fldenv fldenvw fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul
        fmulp fnclex fndisi fneni fninit fnop fnsave fnsavew fnstcw fnstenv
        fnstenvw fnstsw fpatan fprem fptan frndint frstor frstorw fsave
        fsavew fscale fsqrt fst fstcw fstenv fstenvw fstp fstsw fsub fsubp
        fsubr fsubrp ftst fwait fxam fxch fxtract fyl2x fyl2xp1
        fsetpm fcos fldenvd fnsaved fnstenvd fprem1 frstord fsaved fsin fsincos
        fstenvd fucom fucomp fucompp fcomi fcomip ffreep
        fcmovb fcmove fcmovbe fcmovu fcmovnb fcmovne fcmovnbe fcmovnu
      </Keywords>
      <!-- Registers -->
      <Keywords List="2" Inherit="False">
        ah al ax bh bl bp bx ch cl cr0 cr2 cr3 cr4 cs
        cx dh di dl dr0 dr1 dr2 dr3 dr6 dr7 ds dx eax ebp ebx ecx edi edx
        es esi esp fs gs si sp ss st tr3 tr4 tr5 tr6 tr7
        st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7
        xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7
      </Keywords>
      <!-- Directives -->
      <Keywords List="3" Inherit="False">
        .186 .286 .286c .286p .287 .386 .386c .386p .387 .486 .486p .8086
        .8087 .alpha .break .code .const .continue .cref .data .data? .dosseg
        .else .elseif .endif .endw .err .err1 .err2 .errb .errdef .errdif
        .errdifi .erre .erridn .erridni .errnb .errndef .errnz .exit .fardata
        .fardata? .if .lall .lfcond .list .listall .listif .listmacro
        .listmacroall .model .no87 .nocref .nolist .nolistif .nolistmacro
        .radix .repeat .sall .seq .sfcond .stack .startup .tfcond .type .until
        .untilcxz .while .xall .xcref .xlist alias align assume catstr
        comm comment db dd df dosseg dq dt dup dw echo else elseif elseif1
        elseif2 elseifb elseifdef elseifdif elseifdifi elseife elseifidn
        elseifidni elseifnb elseifndef end endif endm endp ends eq equ even
        exitm extern externdef extrn for forc ge goto group gt high highword
        if if1 if2 ifb ifdef ifdif ifdifi ife ifidn ifidni ifnb ifndef include
        includelib instr invoke irp irpc label le length lengthof local low
        lowword lroffset lt macro mask mod .msfloat name ne offset opattr
        option org %out page popcontext proc proto ptr public purge pushcontext
        record repeat rept seg segment short size sizeof sizestr struc struct
        substr subtitle subttl textequ this title type typedef union while
        width db dw dd dq dt resb resw resd resq rest incbin equ times %define
        %idefine %xdefine %xidefine %undef %assign %iassign %strlen %substr
        %macro %imacro %endmacro %rotate .nolist %if %elif %else %endif %ifdef
        %ifndef %elifdef %elifndef %ifmacro %ifnmacro %elifmacro %elifnmacro
        %ifctk %ifnctk %elifctk %elifnctk %ifidn %ifnidn %elifidn %elifnidn
        %ifidni %ifnidni %elifidni %elifnidni %ifid %ifnid %elifid %elifnid
        %ifstr %ifnstr %elifstr %elifnstr %ifnum %ifnnum %elifnum %elifnnum
        %error %rep %endrep %exitrep %include %push %pop %repl struct endstruc
        istruc at iend align alignb %arg %stacksize %local %line bits use16
        use32 section absolute extern global common cpu org section group
        import export
      </Keywords>
      <!-- Directive Operands -->
      <Keywords List="4" Inherit="False">
        $ ? @b @f addr basic byte c carry? dword far far16 fortran fword
        near near16 overflow? parity? pascal qword real4 real8 real10 sbyte
        sdword sign? stdcall sword syscall tbyte vararg word zero? flat
        near32 far32 abs all assumes at casemap common compact cpu dotname
        emulator epilogue error export expr16 expr32 farstack flat forceframe
        huge language large listing ljmp loadds m510 medium memory nearstack
        nodotname noemulator nokeyword noljmp nom510 none nonunique nooldmacros
        nooldstructs noreadonly noscoped nosignextend nothing notpublic oldmacros
        oldstructs os_dos para private prologue radix readonly req scoped
        setif2 smallstack tiny use16 use32 uses a16 a32 o16 o32 byte word
        dword nosplit $ $$ seq wrt flat large small .text .data .bss near far
        %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
      </Keywords>
      <!-- Extended Instructions -->
      <Keywords List="5" Inherit="False">
        addpd addps addsd addss andpd andps andnpd andnps cmpeqpd cmpltpd cmplepd
        cmpunordpd cmpnepd cmpnltpd cmpnlepd cmpordpd cmpeqps cmpltps cmpleps cmpunordps
        cmpneps cmpnltps cmpnleps cmpordps cmpeqsd cmpltsd cmplesd cmpunordsd cmpnesd
        cmpnltsd cmpnlesd cmpordsd cmpeqss cmpltss cmpless cmpunordss cmpness cmpnltss
        cmpnless cmpordss comisd comiss cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd
        cvtpi2ps cvtps2dq cvtps2pd cvtps2pi cvtss2sd cvtss2si cvtsd2si cvtsd2ss cvtsi2sd
        cvtsi2ss cvttpd2dq cvttpd2pi cvttps2dq cvttps2pi cvttsd2si cvttss2si divpd divps
        divsd divss fxrstor fxsave ldmxscr lfence mfence maskmovdqu maskmovdq maxpd maxps
        paxsd maxss minpd minps minsd minss movapd movaps movdq2q movdqa movdqu movhlps
        movhpd movhps movd movq movlhps movlpd movlps movmskpd movmskps movntdq movnti
        movntpd movntps movntq movq2dq movsd movss movupd movups mulpd mulps mulsd mulss
        orpd orps packssdw packsswb packuswb paddb paddsb paddw paddsw paddd paddsiw paddq
        paddusb paddusw pand pandn pause paveb pavgb pavgw pavgusb pdistib pextrw pcmpeqb
        pcmpeqw pcmpeqd pcmpgtb pcmpgtw pcmpgtd pf2id pf2iw pfacc pfadd pfcmpeq pfcmpge
        pfcmpgt pfmax pfmin pfmul pmachriw pmaddwd pmagw pmaxsw pmaxub pminsw pminub pmovmskb
        pmulhrwc pmulhriw pmulhrwa pmulhuw pmulhw pmullw pmuludq pmvzb pmvnzb pmvlzb pmvgezb
        pfnacc pfpnacc por prefetch prefetchw prefetchnta prefetcht0 prefetcht1 prefetcht2
        pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pf2iw pinsrw psadbw pshufd
        pshufhw pshuflw pshufw psllw pslld psllq pslldq psraw psrad psrlw psrld psrlq psrldq
        psubb psubw psubd psubq psubsb psubsw psubusb psubusw psubsiw pswapd punpckhbw
        punpckhwd punpckhdq punpckhqdq punpcklbw punpcklwd punpckldq punpcklqdq pxor rcpps
        rcpss rsqrtps rsqrtss sfence shufpd shufps sqrtpd sqrtps sqrtsd sqrtss stmxcsr subpd
        subps subsd subss ucomisd ucomiss unpckhpd unpckhps unpcklpd unpcklps xorpd xorps
      </Keywords>
    </Lexer>
    <Styles>
      <Style Name="DEFAULT" BackColor="White" FontName="Consolas"  />
      <Style Name="COMMENT" ForeColor="#008040" />
      <Style Name="NUMBER" ForeColor="#ff8040" />
      <Style Name="STRING" ForeColor="#adadad" />
      <Style Name="OPERATOR" ForeColor="#000080" Bold="True" />
      <Style Name="IDENTIFIER" />
      <Style Name="CPUINSTRUCTION" ForeColor="#0000ff" Bold="True" />
      <Style Name="MATHINSTRUCTION" ForeColor="#0080c0" Bold="True" />
      <Style Name="REGISTER" ForeColor="#8000ff" Bold="True" />
      <Style Name="DIRECTIVE" ForeColor="#0080ff" />
      <Style Name="DIRECTIVEOPERAND" ForeColor="#000080" Bold="True" />
      <Style Name="COMMENT	Block" ForeColor="#008040" />
      <Style Name="CHARACTER" ForeColor="#808000" />
      <Style Name="EXTINSTRUCTION" ForeColor="#804000" Bold="True" />
    </Styles>
  </Language>
</ScintillaNET>